package org.xtext.runtime.plan;

import java.util.Map;
import java.util.Set;

import org.xtext.runtime.interpreter.Agent;
import org.xtext.runtime.term.Variable;
import org.xtext.runtime.util.Bindings;



public interface IPlanStep {
	public static final String TAB = "\t";

	public String toString(String string);
	public String toFullString(String string);
	public Set<Variable> variables();
	public void handle(Agent agent, PlanStack planStack);
	public IPlanStep copy(Map<String, Variable> vars);
	public IPlanStep apply(Bindings bindings);
	public void reset();

}
